// 验证模块
const Joi = require('joi');
// 床模块
const {
	Bed
} = require('../../../model/Bed');
// 工具
const _ = require('lodash');

module.exports = async (req, res) => {
	req.fields._id = req.params['id'];
	// 定义对象验证规则
	const schema = {
		_id: Joi.string().required().regex(/^[0-9a-fA-F]{24}$/).error(new Error('房型id非法'))
	};
	// 验证用
	const {
		error
	} = Joi.validate(req.fields, schema, {
		// 允许对象包含被忽略的未知键
		allowUnknown: true
	});
	// 数据格式没有通过验证
	if (error) return res.sendResult(null, 400, error.message);
	// 通过验证
	// 更新床信息
	// new: true 返回修改后的文档 默认值为false 返回原始文档
	let bed = await Bed.findByIdAndUpdate(req.fields._id, {
		$set: req.fields
	}, {
		new: true
	});
	// 响应
	res.sendResult(bed, 200, '更新床成功');
};